package com.gdkj.params.stardig;

import lombok.Data;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotNull;

/**
 * 基础配置
 */
@Data
public class BaseConfig {

    /**
     * 初始钻石赠送值
     */
    @NotNull(message = "初始钻石赠送值为必传参数")
    @Min(1)
    private Integer initialDonatedEnergy;

    /**
     * 自动钻石恢复值上限
     */
    @NotNull(message = "自动钻石恢复值上限为必传参数")
    @Min(1)
    private Integer autoRecoveryEnergyLimit;

    /**
     * 每日钻石恢复次数上限
     */
    @NotNull(message = "每日钻石恢复次数上限为必传参数")
    @Min(1)
    private Integer everyDayRecoveryEnergyTimesLimit;

    /**
     * 每次恢复钻石值
     */
    @NotNull(message = "每次恢复钻石值为必传参数")
    @Min(1)
    private Integer perRecoveryEnergyValue;

//    /**
//     * 单次填土上限(米)
//     */
//    private Integer onceFillingLimit;

    /**
     * 每日填土上限(米)
     */
    @NotNull(message = "每日填土上限(米)为必传参数")
    @Min(1)
    private Integer everyDayFillingLimit;

//    /**
//     * 单次关小黑屋上限(分钟)
//     */
//    private Integer onceCloseBlackHouseLimit;

    /**
     * 每日关小黑屋上限(分钟)
     */
    @NotNull(message = "每日关小黑屋上限(分钟)为必传参数")
    @Min(1)
    private Integer everyDayCloseBlackHouseLimit;

    /**
     * 解锁自动挖掘钻石阀值
     */
    @NotNull(message = "解锁自动挖掘钻石阀值为必传参数")
    @Min(1)
    private Integer autoDigEnergyLimit;

    /**
     * 解锁返回地表米数阀值
     */
    @NotNull(message = "解锁返回地表米数阀值为必传参数")
    @Min(1)
    private Long returnSurfaceMetersLimit;

    /**
     * 地区排行显示条数
     */
    @NotNull(message = "地区排行显示条数为必传参数")
    @Min(1)
    private Integer areaRankShowTotal;

    /**
     * 钻石恢复每次间隔时间
     */
    @NotNull(message = "钻石恢复每次间隔时间为必传参数")
    @Min(1)
    private Integer energyRecoveryEveryIntervalTime;

    /**
     * 关小黑屋奖励钻石数量
     */
    @NotNull(message = "关小黑屋奖励钻石数量为必传参数")
    @Min(1)
    private Integer blackHouseRewardEnergyAmount;
}
